package statically;

import org.junit.Test;

public class TestProxy {

    @Test
    public void test() {
        CEO ceo = new CEOProxy();
        ceo.meeting("CEO");
    }

    // 静态代理  --> 由程序员自己创建

    /**
     * 弊端
     * 1。静态代理只能代理一个类
     * 2。静态代理不能代理动态生成的类
     * 3。静态代理不能代理接口
     */

    // 动态代理  --> 相比于静态代理来说，动态代理更加灵活。我们不需要针对每个目标类都单独创建一个代理类，并且也不需要我们必须实现接口，我们可以直接代理实现类(CGLIB 动态代理机制)。
    public static void main(String[] args) {
        for (int i = 0; i < Integer.MAX_VALUE; i++) {
            System.out.println(i);
        }
    }
}
